#ifndef T_CONFIGER_HPP
#define T_CONFIGER_HPP

#include<string>
#include<vector>

/*
Used configs
namespace: "sComposer"
  mj: "overwriteThreadNumber" -> ?
  mk: "wrap"
    mn: "tileSize"
  mk: "wrapST" -> 1
namespace: "sScanner"
  mj: "sampleMarginTBLRMm"  -> for inverted scanner "15.7,15.7,18.9,18.9"
  mj: "pretendLabelInspect" -> 1
  mj: "scanOverlap" -> 10
    set scan overlap by percentage, increasing overlap for shade correction
  mj: "multiLayersInInterpo" an object
    mn: "layerNum", "stackRange", "stackMode"
    
namespace: "tAutoma
  mj: "randomError"
    mn: various location codes
	*/

struct TConfiger {
	static std::wstring filenameCore;
	static std::wstring filename;
	static void* cfg;

	static void init();
	static int getIntFlag(std::wstring myNamespace, std::wstring majorName, std::wstring minorName, int defaultValue);
	static bool getFloatVals(std::wstring myNamespace, std::wstring majorName, std::wstring minorName, float* arrayWithDefaults, int size);
	static bool getStringVal(std::wstring myNamespace, std::wstring majorName, std::wstring minorName, std::string& val);
	static std::vector<std::wstring> getMinorEntries(std::wstring myNamespace, std::wstring majorName);
};


#endif